package com.thyme.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.thyme.system.vo.Iec61850DataInstVo;
import com.thyme.system.vo.Iec61850IedInstVo;
import com.thyme.system.vo.Iec61850LdVo;
import com.thyme.system.vo.IedNameEnumVO;

import java.util.List;
import java.util.Set;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author nana
 * @since 2021-03-17
 */
public interface Iec61850IedInstService{
    /**
     *
     * @param id
     */
    int deleteByConfigId(Integer id);

    /**
     *
     * @param iec61850IedInstVo
     * @return
     */
    void insert(Iec61850IedInstVo iec61850IedInstVo, Set<Iec61850DataInstVo> iec61850DataInstVos, List<Iec61850LdVo> idVoList);

    /**
     *
     * @param iedName
     * @return
     */
    Integer getByIEDName(String iedName);

    /**
     * 获得所有配置信息
     * @param page
     * @return
     */
    IPage<Iec61850IedInstVo> getAll(Page page);

    /**
     *
     * @param id
     * @return
     */
    Iec61850IedInstVo getById(Integer id);

    /**
     *
     * @param iec61850IedInstVo
     * @return
     */
    boolean updateConfig(Iec61850IedInstVo iec61850IedInstVo);

    /**
     *
     * @return
     */
    List<IedNameEnumVO> getLEDNameEnumList();
}
